Experience Integrating a New Compiler and a New Garbage Collector Into Rotor

نویسندگان

  • Todd A. Anderson
  • Marsha Eng
  • Neal Glew
  • Brian T. Lewis
  • Vijay Menon
  • James M. Stichnoth
چکیده

Microsoft’s Rotor is a shared-source CLI implementation intended for use as a research platform. It is particularly attractive for research because of its complete implementation and extensive libraries, and because its modular design allows different implementations of certain components (e.g., just-in-time compilers). Our group has independently developed a highperformance just-in-time (JIT) compiler and garbage collector, and wanted to take advantage of Rotor as a platform for experimenting with these components. In this paper, we describe our experiences integrating these components into Rotor, and evaluate the flexibility of Rotor’s modular design toward this goal. We found the just-in-time (JIT) compiler easier to integrate than the garbage collector because Rotor has a well defined interface for the former but not the latter. However, the JIT integration required changes to Rotor to support multiple JITs, which included implementing a new code manager and supporting a second JIT manager. We detail the changes to our just-in-time compiler to support Rotor’s calling conventions, helper functions, and exception model. The garbage collector integration was complicated by the many places in Rotor where components make assumptions about the garbage collector’s implementation. It was also necessary to reconcile the different assumptions made by our garbage collector and Rotor about object layout, virtual-method table layout, and thread structures.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Embedded SML using the MLton compiler

In this extended abstract we present our current work on leveraging Standard ML for developing embedded and real-time systems. Specifically we detail our experiences in modifying MLton, a whole program, optimizing compiler for Standard ML, for use in such contexts. We focus primarily on the language runtime, reworking the threading subsystem and garbage collector, as well as necessary changes f...

متن کامل

Garbage Collection for Strongly - Typed Languagesusing Run - time Type

Garbage collectors perform two functions: live-object detection and dead-object reclamation. In this paper, we present a new technique for live-object detection based on run-time type reconstruction for a strongly-typed, polymorphic language. This scheme uses compile-time type information together with the run-time tree of activation frames to determine the exact type of every object participat...

متن کامل

A Generational, Compacting Garbage Collector for C++

One of the most striking differences between any Lisp dialect and C++ is not the obvious syntax differences, but rather their opposing views on management of objects with indefinite extent. While Lisp systems automatically recover storage used by objects that are no longer needed by the program, C++ requires that the user explicitly delete the object in order to reclaim storage. Automatically m...

متن کامل

Draft Comparing Two Garbage Collectors for C++

Our research is concerned with compiler-independent, tag-free garbage collection for the C ++ programming language. This paper presents a mark-and-sweep collector , and explains how it ameliorates shortcomings of a previous copy collector. The new collector, like the old, uses C ++ 's facilities for creating abstract data types to deene a tracked reference type, called roots, at the level of th...

متن کامل

Comparing Two Garbage Collectors for C + +

Our research is concerned with compiler-independent, tag-free garbage collection for the C ++ programming language. This paper presents a mark-and-sweep collector , and explains how it ameliorates shortcomings of a previous copy collector. The new collector, like the old, uses C ++ 's facilities for creating abstract data types to deene a tracked reference type, called roots, at the level of th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Journal of Object Technology

دوره 3  شماره 

صفحات  -

تاریخ انتشار 2004